c++问题,“delete []s; ”的意义和作用是什么?

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:24:44
Stack::Stack()//Stack类
{
top=-1;
}

Stack::~Stack()
{
int i;
for(i=0;i<30;i++)
delete s[i];

delete []s;
}

上述代码中“delete []s; ”的意义和作用是什么?
谢谢

当你的指针是使用new分配的数组的时候,就需要调用专门针对数组的释放:
int *p = new int[100];
///
delete [] p;

“delete []s; ”释放一个连续空间的内存,s表示连续空间的首地址,连续空间的大小由s定义时申请的大小确定

释放一个数组的空间,特别是当new分配的时候

表示释放一个数组所占的空间,不加[]则是删除普通变量!